<?php

namespace App\Modules\LuckDraw\Strategy;

interface StrategyInterface {
    function _getPoolData():?array;
    public function getPoolData():?array;
    public function pool():?object;
    public function poolId():?int;
    public function name():?string;
    public function run(int $num):?array;
    public function rollBack();
    public function delPoolRedis():?bool;
    public function upAwardStrategy(array $poolDatas):?array;
    //如果某个奖池修改了，那么要清除所有该奖池的缓存，因为抽奖是从缓存里拿的
    public static function clearCacheByPoolId(int $luckId, array $userList, int $poolId):bool;
}
